﻿// ***********************************************************************
// Assembly         : Logica
// Author           : Diego
// Created          : 03-02-2014
//
// Last Modified By : Diego
// Last Modified On : 03-02-2014
// ***********************************************************************
// <copyright file="LOG_DetalleEstructural.cs" company="">
//     Copyright (c) . All rights reserved.
// </copyright>
// <summary></summary>
// ***********************************************************************
using AccesoDatos.Modulos.ClasesAccesoDatos;
using Modelado.Modulos.ClasesModelado;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

/// <summary>
/// The ClasesLogica namespace.
/// </summary>
namespace Logica.Modulos.ClasesLogica
{   /*Título: LOG_DetalleEstructural
      Tipo: Clase
      Resumen:Hace el llamado de diferentes funciones de acceso a datos, sobrecargando métodos con objetos que viene del GUI. 
      Retorno: N/A
      Autor: Julián Gaona
      Fecha: 13/07/13*/
    /// <summary>
    /// Class LOG_DetalleEstructural.
    /// </summary>
    public class LOG_DetalleEstructural:Negocio
    {   /*Título: CRE_Detalle_Estructural
          Tipo: Método
          Variables: 
             
            objBD
            obj
         
          Resumen:Método recibe propiedades objeto de tipo MOD_DetalleEstructural, abre la conexión a la base de datos y  sobre carga la función CRE_Detalle_Estructural de acceso a datos con el objeto. Al terminar cierra la conexión a la Base de Datos. 
          Retorno: N/A
          Autor: Julián Gaona
          Fecha: 13/07/13*/

        /// <summary>
        /// Crs the e_ detalle_ estructural.
        /// </summary>
        /// <param name="obj">The object.</param>
        public void CRE_Detalle_Estructural(MOD_DetalleEstructural obj)
        {
            try
            {
                this.IniciarTransaccion();

                AD_DetalleEstructural objBD = new AD_DetalleEstructural();

                objBD.CRE_Detalle_Estructural(this.comando, obj);

                this.ConfirmarTransaccion();
            }
            catch (Exception exc)
            {
                this.DeshacerTransaccion();
                throw exc;
            }
        }

        /*Título: SEL_Grid_Detalle_Estructural
          Tipo: Método
          Variables:
         
            codOrden
            lista
            objBD
         
          Resumen:Método abre la conexión a la base de datos y  llama la función SEL_Grid_Detalle_Estructural de acceso a datos sobrecargando la lista de tipo MOD_DetalleEstructural. Al terminar cierra la conexión a la Base de Datos. 
          Retorno: lista
          Autor: Julián Gaona
          Fecha: 13/07/13*/

        /// <summary>
        /// Ses the l_ grid_ detalle_ estructural.
        /// </summary>
        /// <param name="codOrden">The cod orden.</param>
        /// <returns>List{MOD_DetalleEstructural}.</returns>
        public List<MOD_DetalleEstructural> SEL_Grid_Detalle_Estructural(int codOrden)
        {
            try
            {
                this.AbrirConexion();

                AD_DetalleEstructural objBD = new AD_DetalleEstructural();

                List<MOD_DetalleEstructural> lista = objBD.SEL_Grid_Detalle_Estructural(this.comando, codOrden);

                this.CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }
        /*Título: SEL_Total_Estructural
        Tipo: Método
        Variables: 
             
          codOrden
         
        Resumen:Método abre la conexión a la base de datos y llama la función SEL_Total_Estructural de acceso a datos  sobrecargando el método con el codOrden. Retorna la cantidad de Material Estrucural. Al terminar cierra la conexión a la Base de Datos. 
        Retorno: cant_detnoest
        Autor: Julián Gaona
        Fecha: 13/07/13*/


        /// <summary>
        /// Ses the l_ total_ estructural.
        /// </summary>
        /// <param name="codOrden">The cod orden.</param>
        /// <returns>System.Decimal.</returns>
        public decimal SEL_Total_Estructural(int codOrden)
        {
            try
            {
                this.AbrirConexion();

                AD_DetalleEstructural objBD = new AD_DetalleEstructural();

                decimal total_est = objBD.SEL_Total_Estructural(this.comando, codOrden);

                this.CerrarConexion();

                return total_est;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }
        /*Título: DEL_DetalleEstructural
          Tipo: Método
          Variables: 
             
            codigo
            objBD
         
          Resumen:Método recibe el código del cliente, abre la conexión a la base de datos y  sobre carga la función DEL_DetalleEstructural de acceso a datos con el código. Al terminar cierra la conexión a la Base de Datos. 
          Retorno: N/A
          Autor: Julián Gaona
          Fecha: 13/07/13*/
        /// <summary>
        /// Des the l_ detalle estructural.
        /// </summary>
        /// <param name="codigo">The codigo.</param>
        public void DEL_DetalleEstructural(int codigo)
        {
            try
            {
                this.IniciarTransaccion();

                AD_DetalleEstructural objBD = new AD_DetalleEstructural();

                objBD.DEL_DetalleEstructural(this.comando, codigo);

                this.ConfirmarTransaccion();
            }
            catch (Exception exc)
            {
                this.DeshacerTransaccion();
                throw exc;
            }
        }

        /*Título: SEL_DetalleEstructuralByOrdenamiento
        Tipo: Método
        Variables: 
             
          codOrden
          codEstructura,
          codSubEstructura
          codSubTipoEstructura
          codMaterial 
        
        Resumen:Método abre la conexión a la base de datos y llama la función SEL_DetalleEstructuralByOrdenamiento de acceso a datos  sobrecargando el método con el codEstructura,codSubEstructura,codSubTipoEstructura,codMaterial,codOrden. Retorna la cantidad de Material No estrucural. Al terminar cierra la conexión a la Base de Datos. 
        Retorno: det_cant
        Autor: Julián Gaona
        Fecha: 13/07/13*/

        /// <summary>
        /// Ses the l_ detalle estructural by ordenamiento.
        /// </summary>
        /// <param name="codEstructura">The cod estructura.</param>
        /// <param name="codSubEstructura">The cod sub estructura.</param>
        /// <param name="codSubTipoEstructura">The cod sub tipo estructura.</param>
        /// <param name="codMaterial">The cod material.</param>
        /// <param name="codOrden">The cod orden.</param>
        /// <returns>System.Int32.</returns>
        public int SEL_DetalleEstructuralByOrdenamiento(int codEstructura, int codSubEstructura, int codSubTipoEstructura, int codMaterial, int codOrden)
        {
            try
            {
                this.AbrirConexion();

                AD_DetalleEstructural objBD = new AD_DetalleEstructural();

                int det_cant = objBD.SEL_DetalleEstructuralByOrdenamiento(this.comando, codEstructura, codSubEstructura, codSubTipoEstructura, codMaterial, codOrden);

                this.CerrarConexion();

                return det_cant;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }

        }
        /*Título: SEL_Cant_DetEst
            Tipo: Método
            Variables: 
             
              codOrden
              cant_detnoest
         
            Resumen:Método abre la conexión a la base de datos y llama la función SEL_Cant_DetEst de acceso a datos  sobrecargando el método con el codOrden. Retorna la cantidad de Material estrucural. Al terminar cierra la conexión a la Base de Datos. 
            Retorno: cant_detnoest
            Autor: Julián Gaona
            Fecha: 13/07/13*/
        /// <summary>
        /// Ses the l_ cant_ det est.
        /// </summary>
        /// <param name="codOrden">The cod orden.</param>
        /// <returns>System.Int32.</returns>
        public int SEL_Cant_DetEst(int codOrden)
        {
            try
            {
                this.AbrirConexion();

                AD_DetalleEstructural objBD = new AD_DetalleEstructural();

                int cant_detnoest = objBD.SEL_Cant_DetEst(this.comando, codOrden);

                this.CerrarConexion();

                return cant_detnoest;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }
    }
}
